// import com.alibaba.druid.sql.ast.statement.SQLAlterTableItem;
// import com.alibaba.druid.sql.dialect.mysql.ast.MySqlObject;
// import com.alibaba.druid.sql.dialect.mysql.ast.MySqlObjectImpl;
// import com.alibaba.druid.sql.dialect.mysql.visitor.MySqlASTVisitor;
// import com.alibaba.druid.sql.visitor.SQLASTVisitor;

#include "MySqlAlterTableImportTablespace.h"
#include "../../visitor/MySqlASTVisitor.h"
#include "../../../../visitor/SQLASTVisitor.h"
#include "../../../../../utils/instanceof.h"
#include "../../../../../Exception/IllegalArgumentException.h"

// @Override
void MySqlAlterTableImportTablespace::accept0(SQLASTVisitor_ptr visitor)
{
  if (instanceof <SQLASTVisitor, MySqlASTVisitor>(visitor))
  {
    accept0(std::dynamic_pointer_cast<MySqlASTVisitor>(visitor));
  }
  else
  {
    std::string tmp = "not support visitor type : ";
    tmp += visitor->getClass()->c_str();
    throw new IllegalArgumentException(make_string_ptr(visitor->getClass()->c_str()));
  }
}

void MySqlAlterTableImportTablespace::accept0(MySqlASTVisitor_ptr visitor)
{
  visitor->visit(SharedObject(MySqlAlterTableImportTablespace));
  visitor->endVisit(SharedObject(MySqlAlterTableImportTablespace));
}
